Wireless personal area networks (WPAN), as specified by the IEEE 802.15.3 and 802.1.5.4 standards, can transfer data between devices either directly or indirectly. It is expected that the devices will use cheap clocks that are subject to drift. For example, the IEEE 802.15.4 standard allows drift as large as 40 ppm, and the IEEE 802.15.3 standard allows 25 ppm of drift. In addition, the clocks of various devices may drift at different rates. Therefore, it is extremely important that the clocks of the devices are synchronized globally, for several reasons.
Often, the device use superframes, which can include one or more guaranteed time slots (GTS). In order to correctly determine boundaries of the GTS, the clocks used by the devices must be synchronized to avoid packet collisions and missed packets.
Because many WPAN devices are battery operated, global synchronization is also crucial for maintaining low duty cycles in WPANs. That is, the devices should be in ‘sleep’ mode most of the time, and synchronize when they are ‘awake’ for data transfers. If the awake times are unsynchronized, then the propagation of packets among the devices is delayed. If the devices include sensors, then it is important that sensed data includes the correct global time so that a chronology of events can be determined. Clock synchronization is also required for network authentication protocols, such as Kerberos, that generate time-stamped authentication tickets.
Clock synchronization protocols, such as NTP and SNTP, are well known for traditional networks, such as the Internet and distributed systems, see D. Mills, Z. Yang, T. Marsland (Eds.), “Internet Time Synchronization: The Network Time Protocol (NTP) Global States and Time in Distributed Systems,” IEEE Computer Society Press. 1991, D. Mills: “Internet Time Synchronization: The Network Time Protocol”, Global States and Time in Distributed Systems. IEEE Computer Society Press, 1994, C. Liao, M. Maronosi, D. Clark: “Experience With an Adaptive Globally-Synchronizing Clock Algorithm,” Eleventh Annual ACM Symposium on Parallel Algorithms and Architectures (SPAA), 1999, pp. 106-114, K. Arvind: “Probabilistic Clock Synchronization in Distributed Systems,” IEEE Trans. parallel and Distributed Systems, vol. 5, no. 5, pp. 475-487, May 1994, “Simple Network Time Protocol (SNTP),” IETF RFC 2030, and the IEEE 802.15.4-2003 standard. However, those complex protocols are inappropriate for WPANs due to their high resource requirements, such as power, processing, and network bandwidth.
Several clock synchronization protocols are described for wireless sensor networks, J. Elson, L. Girod and D. Estrin: “Fine-Grained Network Time Synchronization using Reference Broadcasts,” Proceedings of the Fifth Symposium on Operating Systems Design and Implementation, December 2002. Elson et. al. describe reference broadcast synchronization (RBS), where devices periodically broadcast beacon messages. The arrival times of the beacon messages serve as a reference point to determine drift in the clocks of the devices. That method is also resource demanding because a large number of messages are required to achieve accurate clock synchronization.
Other clock synchronization techniques are described in U.S. Pat. No. 4,882,739, November 1989, Richard et al., U.S. Pat. No. 6,678,510, January 2004, Syrjarinne et al., U.S. Pat. No. 5,408,506, April 1995, Mincher et al., U.S. Pat. No. 6,680,932, January 2004, Hsuan et al., U.S. Pat. No. 6,539,004, March 2003, Sawyer, and U.S. Pat. No. 6,674,730, January 2004, Moerder et al.